package com.hellobike.haxing.modules.purchase.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.List;

/**
 * @Description: 采购订单表
 * @Author: haxing-boot
 * @Date:   2020-01-21
 * @Version: V1.0
 */
@Data
@TableName("t_purchase_order")
public class TPurchaseOrder implements Serializable {
	private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.AUTO)
	private java.lang.Long id ;
	/**orderCode*/
	@Excel(name = "orderCode", width = 15)
	private java.lang.String orderCode ;
	/**batchCode*/
	@Excel(name = "batchCode", width = 15)
	private java.lang.String batchCode ;
	/**供应商id*/
	@Excel(name = "供应商id", width = 15)
	private java.lang.Long supplierId ;
	/**供应商品表id*/
	@Excel(name = "供应商品表id", width = 15)
	private java.lang.Long purchaseProId ;
	/**供应商名称*/
	@Excel(name = "供应商名称", width = 15)
	private java.lang.String supplierName ;
	/**供应商报价*/
	@Excel(name = "供应商报价", width = 15)
	private java.math.BigDecimal supplierPrice ;
	/**supplierMobile*/
	@Excel(name = "supplierMobile", width = 15)
	private java.lang.String supplierMobile ;
	/**供应商供货数量*/
	@Excel(name = "供应商供货数量", width = 15)
	private java.lang.Integer supplyVolume ;
	/**商品skuid*/
	@Excel(name = "商品skuid", width = 15)
	private java.lang.Long skuId ;
	/**商品名称*/
	@Excel(name = "商品名称", width = 15)
	private java.lang.String skuName ;
	/**单位*/
	@Excel(name = "单位", width = 15)
	private java.lang.String skuUnit ;
	/**商品规格*/
	@Excel(name = "商品规格", width = 15)
	private java.lang.String dimensionValues ;
	/**采购价*/
	@Excel(name = "采购价", width = 15)
	private java.math.BigDecimal purchasePrice ;
	/**采购数量*/
	@Excel(name = "采购数量", width = 15)
	private java.lang.Integer purchaseVolume ;
	/**状态：0待供应商确认，1供应商拒绝，2供应商部分拒绝，3供应商备货中，4正在打包，5已经发货，6入库中，7入库完成，8部分入库完成，9采购完成*/
	@Excel(name = "状态：0待供应商确认，1供应商拒绝，2供应商部分拒绝，3供应商备货中，4正在打包，5已经发货，6入库中，7入库完成，8部分入库完成，9采购完成", width = 15)
	private java.lang.Integer state ;
	/**实际到达货物数量*/
	@Excel(name = "实际到达货物数量", width = 15)
	private java.lang.Integer actShippedNum ;
	/**仓库id*/
	@Excel(name = "仓库id", width = 15)
	private java.lang.Long warehouseId ;
	/**仓库名称*/
	@Excel(name = "仓库名称", width = 15)
	private java.lang.String warehouseName ;
	/**arrivalTime*/
	@Excel(name = "arrivalTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date arrivalTime ;
	/**备注*/
	@Excel(name = "备注", width = 15)
	private java.lang.String remark ;
	/**是否直接进仓：0否1是*/
	@Excel(name = "是否直接进仓：0否1是", width = 15)
	private java.lang.Integer isDirectWarehousing ;
	/**城市id*/
	@Excel(name = "城市id", width = 15)
	private java.lang.Long cityId ;
	/**createTime*/
	@Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date createTime ;
	/**updateTime*/
	@Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date updateTime ;
	/**createBy*/
	@Excel(name = "createBy", width = 15)
	private java.lang.Integer createBy ;
	/**updateBy*/
	@Excel(name = "updateBy", width = 15)
	private java.lang.Integer updateBy ;
	/**deleted*/
	@Excel(name = "deleted", width = 15)
	@TableLogic
	private java.lang.Integer deleted ;

	/**
	 * 采购总价
	 */
	@TableField(exist = false)
	private String totalPurchaseAmount;

	/**
	 * 状态展示
	 */
	@TableField(exist = false)
	private String stateStr;

	/**是否直接进仓：0否1是*/
	@TableField(exist = false)
	private Boolean isDirectWarehousingStr ;

	@TableField(exist = false)
	private List<TPurchaseOrderDetail> tPurchaseOrderDetails ;

	/**
	 * 发货车辆
	 */
	@TableField(exist = false)
	private String sendCar;

	/**
	 * 司机姓名
	 */
	@TableField(exist = false)
	private String carDriver;

	/**
	 * 联系方式
	 */
	@TableField(exist = false)
	private String carMobile;

	/**
	 * 发货状态
	 */
	@TableField(exist = false)
	private Integer carState;
}
